using System;
using System.Collections.Generic;
using System.Text;

namespace CompanyX.TechnicalArchitecture.PerfContext
{
    /// <summary>
    /// Interface that declares the performance context for use in intrumented functions
    /// </summary>`
    public interface IPerfContext : IDisposable
    {
        /// <summary>
        /// Name of performance context (read-only)
        /// </summary>
        string ContextName { get; }

        /// <summary>
        /// Name of the instance of the performance counter (read-only)
        /// </summary>
        string InstanceName { get; }

        /// <summary>
        /// Flag to indicate if there was an exception/application error within the performance context
        /// </summary>
        bool ContextInError { get; set; }
    }
}
